谁能说一下cat < /etc/motd | ./a.out是什么意思

来源:百度知道 编辑:UC知道 时间:2024/06/04 14:57:57
如果能讲解一下就更谢谢了
源程序是这样的
int main(void)
{
if(lseek(STDIN_FILENO,0,SEEK_CUR)==-1)
printf("can't seek\n");
ele
printf("seek ok");
return 0;
}
这个命令里的重定向符什么意思,如果不加行吗

还有这个命令和./a.out < /etc/motd什么区别啊

  1. a.out 是linux/unix环境下gcc编译源代码(c/c++)并连接产生的默认执行文件名。./a.out表示当前目录下的a.out文件。一个单独的点号指代当前文件路径。因为linux/unix搜索可执行文件的默认路径需要指定,没有./两个符号指定路径的话,新编译的文件操作系统找不到。

  2. cat < /etc/motd 是显示 /etc/motd ,加上 管道符后 输出 /etc/motd内容 ,根据/etc/motd文件的内容来判断 ,符合‘(lseek(STDIN_FILENO,0,SEEK_CUR)==-1)’这个条件的话 输出cant seek,不符合条件则输出 seek ok。

a.out是个输出脚本?~~

cat < /etc/motd 是显示 /etc/motd ,加上 管道符后 输出 /etc/motd内容

具体输出到哪里,还得看你 a.out 是怎么写的~~

根据/etc/motd文件的内容来判断 ,符合‘(lseek(STDIN_FILENO,0,SEEK_CUR)==-1)’这个条件的话 输出cant seek,不符合条件则输出 seek ok

cat 后面的 重定向 是 说cat的内容来自 /etc/motd 文件
如果不出意外的话 ./a.out </etc/motd是不能运行的,你可以试试~~